program Project1; // Zadanie 6.1

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
pole_prostokata = class // deklaracja klasy pole_prostokata
  public
  a,b,pole:Real;
  procedure czytaj_dane(); // deklaracja metody czytaj_dane()
  procedure przetworz_dane(); // deklaracja metody przetworz_dane()
  procedure wyswietl_wynik(); // deklaracja metody wyswietl_wynik()
end;

procedure pole_prostokata.czytaj_dane(); //definicja metody czytaj_dane()
begin
  Writeln('Program oblicza pole prostokata.');
  Writeln('Podaj bok a.');
  Readln(a);
  Writeln('Podaj bok b.');
  Readln(b);
end;

procedure pole_prostokata.przetworz_dane(); // definicja metody przetworz_dane()
begin
  pole := a*b;
end;

procedure pole_prostokata.wyswietl_wynik(); // definicja metody wyswietl_wynik()
begin
  Writeln('Pole prostokata o boku a = ', a:4:2, ' i boku b = ', b:4:2);
  Writeln('wynosi ', pole:4:2, '.');
end;

var
  pole1:pole_prostokata;

begin
  pole1:=pole_prostokata.Create; // konstruktor tworzy obiekt i przydziela mu pamiec
  pole1.czytaj_dane(); // wywolanie metody czytaj_dane()
  pole1.przetworz_dane(); // wywolanie metody przetworz_dane()
  pole1.wyswietl_wynik(); // wywolanie metody wyswietl_wynik()
  pole1.Free; // destruktor niszczy obiekt i zwalnia pamiec

  Readln; //czeka na nacisniecie klawisza ENTER
end.
